﻿// EXP0229.cpp :
//int i, *const cp;      
//int* p1, * const p2;   
//const int ic, & r = ic;
//const int* const p3;   
//const int* p;          
//假设已有上一个练习中定义的那些变量，则下面的哪些语句是合法的？请说明原因。

//i = ic;     //ic是常量，i是变量，常量的值拷贝给变量，合法
//p1 = p3;    //p3是指向常量的常量指针，p1是普通指针，存在风险，不合法
//p1 = &ic;   //&ic是常量的地址，p1是普通指针，存在风险，不合法
//p3 = &ic;   //&ic是常量的地址，p3是指向常量的常量指针，初始化 合法
//p2 = p1;    //p1是普通指针，p2是常量指针，初始化 合法
//ic = *p3;   //*p3是常量，ic是常量，初始化 合法



